/* 全局性能优化样式 */

/* 表格性能优化（需手动添加 .performant-table 容器类） */
.performant-table {
  /* 启用硬件加速 */
  will-change: scroll-position;
  contain: layout style paint;
  /* 优化滚动性能 */
  -webkit-overflow-scrolling: touch;
}

/* 表格行性能优化（配合 :deep(.performant-table .el-table__row) 使用） */
.performant-table :deep(.el-table__row) {
  /* 减少重绘和回流 */
  contain: layout style;
}

/* 按钮性能优化 */
.action-buttons {
  /* 防止换行导致的布局重排 */
  flex-wrap: nowrap;
  white-space: nowrap;
}

/* 文本截断优化 */
.job-name,
.savepoint-path,
.path-text {
  /* 优化文本渲染 */
  text-rendering: optimizeSpeed;
  /* 防止文本选择时的性能问题 */
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
}

/* 滚动条性能优化 */
.table-container::-webkit-scrollbar {
  /* 减少重绘 */
  background: transparent;
}

.table-container::-webkit-scrollbar-track {
  background: #f1f1f1;
  border-radius: 4px;
  /* 启用硬件加速 */
  transform: translateZ(0);
}

.performant-table::-webkit-scrollbar-thumb {
  background: #c1c1c1;
  border-radius: 4px;
  /* 平滑过渡 */
  transition: background-color 0.2s ease;
}

.performant-table::-webkit-scrollbar-thumb:hover {
  background: #a8a8a8;
}

/* 虚拟滚动优化 */
.el-table__body-wrapper {
  /* 优化滚动性能 */
  -webkit-overflow-scrolling: touch;
  /* 减少重绘 */
  contain: layout style paint;
}

/* 加载状态优化 */
.el-loading-mask {
  /* 优化动画性能 */
  will-change: opacity;
}

/* 对话框性能优化 */
.el-dialog {
  will-change: transform, opacity;
}

/* 表单性能优化 */
.el-form-item {
  /* 减少重排 */
  contain: layout;
}

/* 输入框性能优化 */
.el-input__inner {
  /* 优化文本渲染 */
  text-rendering: optimizeSpeed;
}

/* 标签性能优化 */
.el-tag {
  /* 减少重绘 */
  contain: layout style;
}

/* 分页器性能优化 */
.el-pagination {
  /* 减少重排 */
  contain: layout;
}

/* 卡片性能优化 */
.el-card {
  /* 减少重排 */
  contain: layout style;
}

/* 图标性能优化 */
.el-icon {
  /* 优化渲染 */
  text-rendering: optimizeSpeed;
}

/* 全局动画性能优化 */
/* ⚠️ 全局 backface/perspective 会影响 Element Plus Teleport 弹层定位，先关闭 */
/* * {
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  -webkit-perspective: 1000;
  perspective: 1000;
} */

/* 减少不必要的重绘 */
.el-table__empty-block {
  contain: layout style paint;
}

.el-table__empty-text {
  contain: layout style;
}

/* 优化选择框性能 */
.el-checkbox {
  contain: layout style;
}

.el-checkbox__input {
  contain: layout style;
}

/* 优化开关性能 */
.el-switch {
  contain: layout style;
  transform: translateZ(0);
}

/* 优化日期选择器性能 */
.el-date-editor {
  contain: layout style;
}

/* 优化下拉框性能 */
.el-select {
  contain: layout style;
}

/* 优化工具提示性能 */
.el-tooltip__popper {
  contain: layout style paint;
  transform: translateZ(0);
}

/* 响应式优化 */
@media (max-width: 768px) {
  .table-container {
    /* 移动端优化滚动 */
    -webkit-overflow-scrolling: touch;
    /* 减少重绘 */
    contain: layout style paint;
  }
  
  .action-buttons {
    /* 移动端防止换行 */
    flex-wrap: nowrap;
    overflow-x: auto;
  }
}
